Over the last few years, there has been a paradigm shift in the way web applications are built. Applications have gone from thin-client and fat-server to heavy feature based fat-clients due to a demand for mobile ready, responsive web applications. However, performance testing landscape has not kept up with these changes. Benchmarking web application performance has historically been server-oriented. The approach has typically been to throttle load by adding simulated or synthetic clients while at the same time measuring network and HTTP level statistics, such as “time to first byte” or latency. The server-oriented approach does not adapt well for fat-client type applications. Time to first byte and network level captures do little to predict rendering, loading, Javascript execution and other problems which can lead to a poor client experience. Most browsers today provide development tools which allow developers to inspect the application on their computer. However, inspection at this level is limited to debugging and is not well suited for reporting and benchmarking. As a result, companies and developers are simply unable to properly validate how their code is running at the client side. Current methodologies require developers to conduct time-consuming searches looking for performance anomalies.
These and other drawbacks currently exist.